// VI_MultiMeter_NI_4071.h: interface for the CVI_MultiMeter_NI_4071 class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_VI_MULTIMETER_NI_4071_H__D6D5BA93_92B1_4752_AE97_5F07D53FB889__INCLUDED_)
#define AFX_VI_MULTIMETER_NI_4071_H__D6D5BA93_92B1_4752_AE97_5F07D53FB889__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "SignalReceiver.h"
#include "nidmm.h"
#include"string"
class CVI_MultiMeter_NI_4071  : public ISignalReceiver
{
public:
	CVI_MultiMeter_NI_4071();
	virtual ~CVI_MultiMeter_NI_4071();
	virtual double __stdcall AcquireMeasurementValue(std::string &ItemName,std::string& SignalType,float PromiseValue,std::string &Channel,COMMSG* errorMsg = NULL);
public :
	// IUnknown member function
	virtual HRESULT __stdcall QueryInterface(const IID& iid, void **ppv) ;
	virtual ULONG	__stdcall AddRef() ; 
	virtual ULONG	__stdcall Release() ;	
private:
	ViInt32 m_MeasMode;
	ViReal64 m_Range;
	ViChar   m_ResourceName[256];
	int	  m_Ref ;
	char m_ErrMsg[512];
};

#endif // !defined(AFX_VI_MULTIMETER_NI_4071_H__D6D5BA93_92B1_4752_AE97_5F07D53FB889__INCLUDED_)
